assimilate-popular-wor…
This skill should be used when the user asks to "find skills in the wild", "assimilate popular workflows", "discover SKILL.md…
YAML frontmatter parsing and manipulation for .planning/ documents. Provides read, write, update, query, and validation operations on frontmatter blocks in GSD markdown artifacts.
Claude Code
$ npx -y skills add a5c-ai/babysitter --skill frontmatter-parsing --agent claude-code
Codex
$ npx skills add a5c-ai/babysitter --skill frontmatter-parsing -a codex -y
Cursor
$ npx skills add a5c-ai/babysitter --skill frontmatter-parsing -a cursor -y
Gemini CLI
$ npx skills add a5c-ai/babysitter --skill frontmatter-parsing -a gemini-cli -y
GitHub Copilot
$ npx skills add a5c-ai/babysitter --skill frontmatter-parsing -a github-copilot -y
OpenCode
$ npx skills add a5c-ai/babysitter --skill frontmatter-parsing -a opencode -y
Windsurf
$ npx skills add a5c-ai/babysitter --skill frontmatter-parsing -a windsurf -y
name: frontmatter-parsing description: YAML frontmatter parsing and manipulation for .planning/ documents. Provides read, write, update, query, and validation operations on frontmatter blocks in GSD markdown artifacts. allowed-tools: Read Write Edit Glob Grep metadata: author: babysitter-sdk version: "1.0.0" category: gsd-core backlog-id: SK-GSD-005 graph: domains: [domain:software-engineering] skillAreas: [skill-area:agentic-loops, skill-area:orchestration-loop] workflows: [workflow:feature-development] topics: [topic:developer-experience] roles: [role:tech-lead, role:backend-engineer]
status: in-progress phase: 72 wave: 1 depends_on: [] files_modified: ["src/auth/oauth.ts", "src/auth/tokens.ts"] created: 2026-03-02 updated: 2026-03-02 ---
## Capabilities ### 1. Parse Frontmatter Extract frontmatter from a markdown file into structured data: ```yaml # Input file: .planning/phase-72/PLAN-1.md --- status: planned phase: 72 plan_number: 1 wave: 1 depends_on: [] files_modified: - src/auth/oauth.ts - src/auth/tokens.ts - src/middleware/auth.ts task_count: 4 created: 2026-03-02 gap_closure: false ---
Parsed result:
{
"status": "planned",
"phase": 72,
"plan_number": 1,
"wave": 1,
"depends_on": [],
"files_modified": ["src/auth/oauth.ts", "src/auth/tokens.ts", "src/middleware/auth.ts"],
"task_count": 4,
"created": "2026-03-02",
"gap_closure": false
}Read individual fields without parsing the entire frontmatter:
get_field(.planning/phase-72/PLAN-1.md, "wave") -> 1 get_field(.planning/phase-72/PLAN-1.md, "status") -> "planned" get_field(.planning/phase-72/PLAN-1.md, "files_modified") -> ["src/auth/oauth.ts", ...]
Update individual frontmatter fields without modifying body content:
update_field(.planning/phase-72/PLAN-1.md, "status", "executed") update_field(.planning/phase-72/PLAN-1.md, "wave", 2) update_field(.planning/phase-72/PLAN-1.md, "updated", "2026-03-02")
Uses `Edit` tool to surgically replace only the target field line.
Add fields to existing frontmatter:
add_field(.planning/phase-72/PLAN-1.md, "executed_at", "2026-03-02T14:30:00Z") add_field(.planning/phase-72/PLAN-1.md, "executor_agent", "gsd-executor")
Inserts new field before the closing `---` delimiter.
Remove fields from frontmatter:
remove_field(.planning/phase-72/PLAN-1.md, "gap_closure")
Find documents matching frontmatter criteria:
query(directory: ".planning/phase-72/", field: "wave", value: 1) -> [".planning/phase-72/PLAN-1.md", ".planning/phase-72/PLAN-2.md"] query(directory: ".planning/", field: "status", value: "planned", recursive: true) -> [".planning/phase-72/PLAN-1.md", ".planning/phase-73/PLAN-1.md"]
Uses `Grep` to search for field patterns, then validates matches.
Validate frontmatter against document type schema:
# PLAN.md required fields required: - status # planned|executing|executed|verified - phase # integer or decimal - plan_number # integer - wave # integer (execution order group) - task_count # integer # PLAN.md optional fields optional: - depends_on # array of plan references - files_modified # array of file paths - gap_closure # boolean - created # date - updated # date - executed_at # datetime
Document type schemas:
Update frontmatter across multiple files:
batch_update( files: [".planning/phase-72/PLAN-1.md", ".planning/phase-72/PLAN-2.md"], field: "status", value: "executed" )
1. Use `Read` to load the target file 2. Extract content between first `---` and second `---` 3. Parse YAML content into key-value pairs 4. Return structured object
1. Use `Read` to load the file 2. Locate the target field line within frontmatter 3. Use `Edit` with the exact field line as `old_string` 4. Replace with new field value line 5. If field is multi-line (arrays), handle properly
1. Use `Glob` to find candidate files in the target directory 2. Use `Grep` to search for the field pattern (e.g., `^wave: 1$`) 3. For each match, verify it's within frontmatter (not body content) 4. Return list of matching file paths
1. Use `Read` to load the file 2. Parse frontmatter 3. Check required fields exist for the document type 4. Validate field types (string, integer, array, boolean, date) 5. Return validation result with any errors
{
"operation": "parse|get|update|add|remove|query|validate|batch",
"status": "success|error",
"file": ".planning/phase-72/PLAN-1.md",
"field": "status",
"previousValue": "planned",
"newValue": "executed",
"frontmatter": {},
"queryResults": [],
"validation": {
"valid": true,
"errors": [],
"warnings": []
}
}| Setting | Default | Description | |---------|---------|-------------| | `frontmatterDelimiter` | `---` | YAML frontmatter delimiter | | `str
Enforce obedience on agentic workforces. Manage extremely complex workflows through deterministic, hallucination-free self-orchestration.
This skill should be used when the user asks to "find skills in the wild", "assimilate popular workflows", "discover SKILL.md…
This skill should be used when the user asks to "babysit issues", "work on assigned issues", "check a5c-agent issues", "process…
Discover public GitHub repositories that import defineTask from @a5c-ai/babysitter-sdk and maintain a deduplicated catalog of…
This skill should be used when the user asks to "fix pipelines", "fix CI", "check staging pipelines", "fix failing workflows",…
Scaffold new babysitter process definitions following SDK patterns, proper structure, and best practices. Guides the 3-phase…
For a repository in the babysitter-users catalog, locate its babysitter processes and any committed runs (.a5c/runs/<runId>/) and…
Direct browser control via CDP for web interaction: automation, scraping, testing, screenshots, and site/app work. Also covers…
Browser automation CLI for AI agents. Use when the user needs to interact with websites, including navigating pages, filling…