{"adoption": {"forks": 362, "observed_at": "2026-08-28T04:07:43.693647+00:00", "stars": 3104}, "canonical_url": "https://ross.abutalabs.com/products/ctf-skills", "card": {"archived": false, "artifact_type": "learning-resource", "description": "Agent skills for solving CTF challenges - web exploitation, binary pwn, crypto, reverse engineering, forensics, OSINT, and more", "domain": ["security", "penetration-testing", "artificial-intelligence", "developer-tools", "tutorials"], "enriched": true, "function": ["security", "penetration-testing", "reverse-engineering", "osint", "agent-framework", "prompt-engineering"], "health_score": 80, "homepage": "https://ljagiello.github.io/ctf-skills", "language": "Python", "license": "MIT", "license_family": "permissive", "maturity": "active", "member_repos": ["ljagiello/ctf-skills"], "name": "ljagiello/ctf-skills", "platform": ["cli", "cross-platform", "python"], "pushed_at": "2026-08-25T03:49:07+00:00", "repo": "ljagiello/ctf-skills", "stars": 3104, "tags": ["ctf", "agent-skills", "claude-code", "capture-the-flag", "pwn", "cryptography", "forensics", "steganography", "llm-agents"], "topics": ["agent-skills", "claude-code-skills", "ctf", "security", "claude-code", "codex", "codex-cli", "gemini", "gemini-cli", "opencode", "ctf-challenges", "ctf-tools"], "urls": [], "use_cases": ["solve CTF challenges with an AI agent", "set up a CTF tooling environment before a competition", "learn cryptography attack techniques like RSA and lattice attacks", "do steganography and forensics on disk images and PCAPs", "practice binary exploitation and pwn with an LLM assistant", "run OSINT and web exploitation tasks via Claude Code"], "what_it_is": "A collection of Agent Skills (SKILL.md files) that teach AI coding agents like Claude Code, Codex, and Gemini CLI how to solve Capture The Flag security challenges. It covers 9 categories including web exploitation, binary pwn, cryptography, reverse engineering, forensics, OSINT, malware analysis, and AI/ML attacks, with installer scripts for the required tooling.", "when_to_avoid": ["you need a standalone CTF tool rather than skills loaded into an AI agent", "you're looking for production security tooling rather than competition/educational material", "your agent runtime doesn't support the Agent Skills spec"], "when_to_choose": ["you use an agent that supports the Agent Skills spec (Claude Code, Codex, Gemini CLI, opencode) and want CTF-solving capability", "you want a curated, categorized catalog of CTF techniques with prerequisite tooling scripts", "you're preparing for a CTF competition and want tools pre-installed"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/ctf-skills", "repo": "ljagiello/ctf-skills", "role": "main", "score": 60}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:07:43.693647+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-29T18:46:11.393363+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "02c32ccaeac0ec2eea47183c65de22ddd876dd01e811ecc7e4800e79af4dbf92", "fetched_at": "2026-08-28T04:07:43.693647+00:00", "kind": "readme", "missing": false, "url": "https://github.com/ljagiello/ctf-skills"}, {"content_hash": "37d25b949416327e20b9228b33e7e5abc32c251d1cc4b5089655d4f59a3ce4d0", "fetched_at": "2026-08-29T09:42:05.654135+00:00", "kind": "homepage", "missing": false, "url": "https://ljagiello.github.io/ctf-skills"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:07:43.693647+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-29T18:46:11.393363+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "02c32ccaeac0ec2eea47183c65de22ddd876dd01e811ecc7e4800e79af4dbf92", "fetched_at": "2026-08-28T04:07:43.693647+00:00", "kind": "readme", "missing": false, "url": "https://github.com/ljagiello/ctf-skills"}, {"content_hash": "37d25b949416327e20b9228b33e7e5abc32c251d1cc4b5089655d4f59a3ce4d0", "fetched_at": "2026-08-29T09:42:05.654135+00:00", "kind": "homepage", "missing": false, "url": "https://ljagiello.github.io/ctf-skills"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-29T18:46:11.393363+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "02c32ccaeac0ec2eea47183c65de22ddd876dd01e811ecc7e4800e79af4dbf92", "fetched_at": "2026-08-28T04:07:43.693647+00:00", "kind": "readme", "missing": false, "url": "https://github.com/ljagiello/ctf-skills"}, {"content_hash": "37d25b949416327e20b9228b33e7e5abc32c251d1cc4b5089655d4f59a3ce4d0", "fetched_at": "2026-08-29T09:42:05.654135+00:00", "kind": "homepage", "missing": false, "url": "https://ljagiello.github.io/ctf-skills"}], "taxonomy_version": 1}, "health_score": {"inputs": ["days_since_push", "days_since_release", "archived"], "kind": "computed", "method": "health_v1"}, "homepage": {"kind": "observed", "observed_at": "2026-08-28T04:07:43.693647+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:07:43.693647+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:07:43.693647+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-29T18:46:11.393363+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "02c32ccaeac0ec2eea47183c65de22ddd876dd01e811ecc7e4800e79af4dbf92", "fetched_at": "2026-08-28T04:07:43.693647+00:00", "kind": "readme", "missing": false, "url": "https://github.com/ljagiello/ctf-skills"}, {"content_hash": "37d25b949416327e20b9228b33e7e5abc32c251d1cc4b5089655d4f59a3ce4d0", "fetched_at": "2026-08-29T09:42:05.654135+00:00", "kind": "homepage", "missing": false, "url": "https://ljagiello.github.io/ctf-skills"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:07:43.693647+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:07:43.693647+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-29T18:46:11.393363+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "02c32ccaeac0ec2eea47183c65de22ddd876dd01e811ecc7e4800e79af4dbf92", "fetched_at": "2026-08-28T04:07:43.693647+00:00", "kind": "readme", "missing": false, "url": "https://github.com/ljagiello/ctf-skills"}, {"content_hash": "37d25b949416327e20b9228b33e7e5abc32c251d1cc4b5089655d4f59a3ce4d0", "fetched_at": "2026-08-29T09:42:05.654135+00:00", "kind": "homepage", "missing": false, "url": "https://ljagiello.github.io/ctf-skills"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:07:43.693647+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:07:43.693647+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:07:43.693647+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-29T18:46:11.393363+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "02c32ccaeac0ec2eea47183c65de22ddd876dd01e811ecc7e4800e79af4dbf92", "fetched_at": "2026-08-28T04:07:43.693647+00:00", "kind": "readme", "missing": false, "url": "https://github.com/ljagiello/ctf-skills"}, {"content_hash": "37d25b949416327e20b9228b33e7e5abc32c251d1cc4b5089655d4f59a3ce4d0", "fetched_at": "2026-08-29T09:42:05.654135+00:00", "kind": "homepage", "missing": false, "url": "https://ljagiello.github.io/ctf-skills"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:07:43.693647+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:07:43.693647+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-29T18:46:11.393363+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "02c32ccaeac0ec2eea47183c65de22ddd876dd01e811ecc7e4800e79af4dbf92", "fetched_at": "2026-08-28T04:07:43.693647+00:00", "kind": "readme", "missing": false, "url": "https://github.com/ljagiello/ctf-skills"}, {"content_hash": "37d25b949416327e20b9228b33e7e5abc32c251d1cc4b5089655d4f59a3ce4d0", "fetched_at": "2026-08-29T09:42:05.654135+00:00", "kind": "homepage", "missing": false, "url": "https://ljagiello.github.io/ctf-skills"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-29T18:46:11.393363+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "02c32ccaeac0ec2eea47183c65de22ddd876dd01e811ecc7e4800e79af4dbf92", "fetched_at": "2026-08-28T04:07:43.693647+00:00", "kind": "readme", "missing": false, "url": "https://github.com/ljagiello/ctf-skills"}, {"content_hash": "37d25b949416327e20b9228b33e7e5abc32c251d1cc4b5089655d4f59a3ce4d0", "fetched_at": "2026-08-29T09:42:05.654135+00:00", "kind": "homepage", "missing": false, "url": "https://ljagiello.github.io/ctf-skills"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-29T18:46:11.393363+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "02c32ccaeac0ec2eea47183c65de22ddd876dd01e811ecc7e4800e79af4dbf92", "fetched_at": "2026-08-28T04:07:43.693647+00:00", "kind": "readme", "missing": false, "url": "https://github.com/ljagiello/ctf-skills"}, {"content_hash": "37d25b949416327e20b9228b33e7e5abc32c251d1cc4b5089655d4f59a3ce4d0", "fetched_at": "2026-08-29T09:42:05.654135+00:00", "kind": "homepage", "missing": false, "url": "https://ljagiello.github.io/ctf-skills"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-29T18:46:11.393363+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "02c32ccaeac0ec2eea47183c65de22ddd876dd01e811ecc7e4800e79af4dbf92", "fetched_at": "2026-08-28T04:07:43.693647+00:00", "kind": "readme", "missing": false, "url": "https://github.com/ljagiello/ctf-skills"}, {"content_hash": "37d25b949416327e20b9228b33e7e5abc32c251d1cc4b5089655d4f59a3ce4d0", "fetched_at": "2026-08-29T09:42:05.654135+00:00", "kind": "homepage", "missing": false, "url": "https://ljagiello.github.io/ctf-skills"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 99, "longevity": 15, "rhythm": 35}, "computed_at": "2026-09-03T02:20:16.233290+00:00", "flags": ["no_releases"], "formula": "round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)", "inputs": {"age_days": 213, "days_push": 8, "days_rel": null, "gap_med": null, "n_releases_24m": 0}, "score": 60, "version": 2}, "staleness": {"enrichment_outdated": false, "low_confidence": false, "scrape_days": 9, "stale_scrape": false}}