Install
$ agentstack add skill-anombyte93-codify-codify ✓ scanned · ✓ verified, works with Claude Code, Cursor, and more.
Security review
✓ PassedNo issues found. Passed automated security review. · v0.1.0 How review works →
- ✓ Prompt-injection patterns
- ✓ Secret / credential exfiltration
- ✓ Dangerous shell & filesystem operations
- ✓ Untrusted network calls
- ✓ Known-malicious package signatures
What it can access
- ✓ Network access No
- ● Filesystem access Used
- ✓ Shell / process execution No
- ✓ Environment & secrets No
- ✓ Dynamic code execution No
From automated source analysis of v0.1.0. “Used” means the capability is present in the source — more access means more to trust, not that it’s unsafe.
Verified badge
Passed review? Show it. Paste this badge into your README, it links to the public security report.
Reliability & compatibility
Declared compatibility
Compatibility is declared by the source manifest. End-to-end runtime verification is coming, see below.
We're building live execution health for every listing: tool-call success rate, median latency, uptime, and last-checked timestamps, measured, not self-reported. It isn't live yet, so we don't show numbers we can't stand behind.
How agent discovery & health will work →About
Codify Skill
> /codify — Extract deterministic logic from a skill's SKILL.md into a Python script.
What This Does
Takes a skill's SKILL.md and splits it into:
- Script (
/script.py) — all deterministic operations (file ops, validation, parsing, template copying) - Slim SKILL.md — only AI judgment parts (questions, assessment, continuation logic) + calls to the script
Argument
/codify — the skill directory name under ~/.claude/skills/. If omitted, list available skills and ask.
Workflow
Phase 1: Analyze
- Read
~/.claude/skills//SKILL.md - Classify every block of instructions into one of two buckets:
DETERMINISTIC (goes into script.py):
- File/directory creation, copying, moving, deleting
- Template validation and repair
- Reading files and extracting sections/data
- Writing structured content to files
- Git operations (status, branch, mv)
- Environment detection (checking if files/dirs exist)
- Any operation that always produces the same output given the same input
- Pattern matching, categorization by filename/extension
- JSON/YAML/TOML parsing or generation
- Archiving, rotating, or resetting files
JUDGMENT (stays in SKILL.md):
- Asking the user questions (AskUserQuestion)
- Deciding what to do based on context (if/else logic about user intent)
- Assessing completion status
- Choosing what to work on next
- Dispatching agents for tasks requiring reasoning
- Evaluating quality (e.g., "is this content worth promoting?")
- Any operation where different AI instances might reasonably make different choices
- Present the analysis to the user:
SKILL: ( lines)
DETERMINISTIC operations found:
-
JUDGMENT operations (staying in SKILL.md):
-
Proposed script subcommands:
- :
- :
Ask user to approve or adjust before proceeding.
Phase 2: Build Script
Create ~/.claude/skills//script.py following these rules:
Script Architecture:
- argparse with subcommands (one per deterministic operation)
- ALL output is JSON via a shared
_out(data)helper - Handle markdown code blocks correctly when parsing sections (track ``` state)
- Use pathlib for all file operations
- Include
--helpfor every subcommand - Make executable (
chmod +x) - Use
#!/usr/bin/env python3 - No external dependencies — stdlib only
Subcommand Design:
- Each subcommand does ONE thing well
- Required args via
--flag(not positional) - Return
{"status": "ok", ...}on success - Return
{"status": "error", "message": "..."}and exit(1) on failure - Include enough detail in output for AI to make decisions without re-reading files
Code Quality:
- Proper error handling (file not found, permission denied)
- Idempotent where possible (safe to run twice)
- Comments only where logic is non-obvious
Phase 3: Rewrite SKILL.md
Rewrite the SKILL.md keeping:
- Frontmatter (name, description, user-invocable) — unchanged
- UX contracts, invariants, rules — preserved but condensed
- User question definitions — preserved
- Continuation/decision logic — preserved
- Self-assessment criteria — preserved
Replace with script calls:
- Every deterministic operation becomes a code block showing the script call
- Agent Ref / Agent Reference sections → deleted entirely
- Inline bash snippets → replaced with script subcommand calls
- Multi-step file operations → single script subcommand
Preserve and update frontmatter:
- Keep
name,description,user-invocableunchanged - Add
allowed-toolsif missing — list tools the skill actually uses (Read, Write, Edit, Bash, Glob, Grep, AskUserQuestion, etc.) - Update
descriptionif the workflow changed significantly
Add a Script Reference table at the bottom:
## Script Reference
All commands output JSON. Run from skill directory.
| Command | Purpose |
|---------|---------|
| `subcommand-1 --flag` | What it does |
| `subcommand-2 --flag` | What it does |
Target: Reduce SKILL.md by 50-70% while preserving all behavior.
Phase 4: Test
Run each script subcommand with --help to verify it parses. Run preflight or equivalent read-only command against the current project to verify JSON output. Report results.
Phase 5: Backup
Before overwriting SKILL.md, save original as SKILL.md.pre-codify.
Edge Cases
- Skill has no deterministic operations (pure judgment): Report "Nothing to extract" and skip.
- Skill already has a script.py: Ask whether to merge, replace, or abort.
- Skill is very short (<50 lines): Report "Too small to benefit from codification" and skip.
- SKILL.md references other files: Read those too and include in analysis.
Example
/codify start
Result: The transformation we just did — 637-line SKILL.md with 7 Agent Ref sections became 204-line SKILL.md + 320-line session-init.py script with 9 subcommands.
Source & license
This open-source skill is cataloged on AgentStack and links to its original source — we do not rehost the code.
- Author: anombyte93
- Source: anombyte93/codify
- License: MIT
Install and usage instructions live in the source repository linked above.
Reviews
No reviews yet, be the first.
Write a review
Versions
- v0.1.0 Imported from the upstream source.